import Vue from 'vue'
import Vuex from 'vuex'
import {getValue} from './assets/js/getValue.js'
Vue.use(Vuex)

export default new Vuex.Store({
  //存储数据的仓库
  state: {
    temperrature:[]
  },
  // 相当于数据的计算属性
  getters: {
    getHeight({ temperrature }){
      const newValue = [];
    temperrature.forEach(value =>{
      if(value.high.substr(3,1) == "-"){
        newValue.push(+value.high.substr(3,2))
      }else{
        newValue.push(+value.high.substr(3,1))
      }
      
    })
    return newValue;
    },
    getLow({ temperrature }){
      const newValue = [];
    temperrature.forEach(value =>{
      if(value.low.substr(3,1)=="-"){
        newValue.push(+value.low.substr(3,2))
      }else{
        newValue.push(+value.low.substr(3,1))
      }
     
    })
     return newValue;
    }
  },
  // 事件，只用来修改仓库里的数据，只能同步执行
  mutations: {
    getValue(state,payload){
      //第一个参数是state对象
      //第二个参数就是在组件里面传过来的参数
      state.temperrature = payload;
    }
  },
  actions: {
    a_getValue({commit}){
      return getValue().then(res=>{
        commit('getValue',res.data.data.forecast);
      })
    }
  }
  // 它是用来分发事件的，而且可以内部执行异步操作的值
  // actions: {
  //   a_getvalue({ commit },value){
  //     commit('getValue',value)
  //   }
    
  // }
})
// async a_getvalue({commit},value){
    //   // getValue().then(res =>{
    //   //    store.commit('getValue',res.data.data.forecast)
    //   // });
    //   commit('getValue',await getValue())

    // }
